package org.zjx.battle;


import org.zjx.battle.entity.Battle;
import org.zjx.common.command.ICommand;
import org.zjx.common.model.RouteProperties;

/**
 * 战斗引擎接口
 */
public interface IBattleEngine {

    /**
     * 分析
     */
    ICommand analyzeAndGenerateCommands(RouteProperties routeProperties, Battle battle);

    /**
     * 获取引擎类型
     * @return 引擎类型
     */
    EngineType getEngineType();

    /**
     * 是否适用于当前战斗
     * @return 是否适用
     */
    boolean isApplicable(Battle battle);
}

